
$.getScript('../scripts/util/StringUtil.js');

/*******************************************************************************
 * * Bloco de métodos para chamadas do InPlace Editor da library 'Jeditable' *
 ******************************************************************************/
$(document).ready(
	function(){
		$('.postItExterno').editable(
			function(value, settings){
				console.log(this);
				console.log(value);
				console.log(settings);
				return(value);
			},{
				type : 'text'
			});
		
	}
);

$(document).ready(
	function() {
		$('#tituloPostItInPlace').editable(
			function(value, settings) {
				console.log(this);
				console.log(value);
				console.log(settings);
				return (value);
			}, {
				type : 'text',
				submit : 'OK'				
			});
	}
);

$(document).ready(
	function() {
		$('#descricaoPostItInPlace').editable(
			function(value, settings) {
				console.log(this);
				console.log(value);
				console.log(settings);
				return (value);
			}, {
				type 	 	: 'textarea',
				submit	 	: 'Salvar',
				onblur	 	: 'cancel',
				placeholder	: 'Editar descrição...',
				style	 	: 'width: 100%; resize: none',
				cssclass 	: 'ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini ui-focus'
			});

	}

);
// ******************************************************************************************************************

var USUSARIO_LOGADO = "João dos Anzóis";
var oldForm = null;

$('#addComentario').click(function(){
	addFormComentario();
	
});

function salvarComentario(strJson){
	//TODO: implementar método
	
}

function addFormComentario(){
	if(document.getElementById('formAdd') == null){
		var staticForm = "<div style='border-radius: 5px; padding: 2px; margin-bottom: 7px; width: 100%;' id='formAdd'>" +
						 	"<textarea id='descricaoComentario' placeholder='Escreva um comentário...' " +
						 		"rows='4' style='width: 98%; margin-bottom: 3px; font-size: 13px;'></textarea>" +
						 	"<div>" +
						 	
						 	"<a class='ui-btn ui-shadow ui-btn-corner-all ui-btn-inline ui-btn-up-c' data-inline='true' " +
						 		"data-role='button' href='#' data-corners='true' data-shadow='true' data-iconshadow='true' " + 
						 		"data-wrapperels='span' data-theme='c' onclick='addComentario()'" +
						 		"style='border-radius: 3px !important; border: 1px solid #1B7E1E; background: #24A828;'> " +
						 		"<span class='ui-btn-inner' style='padding: 3px 10px 5px 10px; vertical-align: middle;'>" +
						 		"<span class='ui-btn-text' style='font-size: 13px; color: #FFF; text-shadow: 0 1px 0 #1B7E1E;'>Salvar</span></span></a>" +
						 		
						 	"<a class='ui-btn ui-shadow ui-btn-corner-all ui-btn-inline ui-btn-up-c' data-inline='true' " +
						 		"data-role='button' href='#' data-corners='true' data-shadow='true' data-iconshadow='true' " +
						 		"data-wrapperels='span' data-theme='c' style='border-radius: 3px !important; border: 1px solid #AAA; margin-left: 5px;' " +
						 		"onclick='cancelComentario()'>" +
						 		"<span class='ui-btn-inner' style='padding: 3px 10px 5px 10px; vertical-align: middle;'><span class='ui-btn-text' style='font-size: 13px;'>Cancelar</span></span></a></div>" +
						 "</div>";
		
		oldForm = $('.controlAdd').html();
		var stringHtml = staticForm += oldForm;
		$('.controlAdd').html(stringHtml);
		
	}

}

function addComentario(){
	//TODO: invocar método para persistência do Comentário
	
	var dataHoraComentario = dataCompletaFormadata();
	var descricaoComentario = $('#descricaoComentario').val();
	
	if(descricaoComentario != null && descricaoComentario.length > 0){
		var staticComponent = 
			"<div class='comentario-excluir' style='width: 99%; margin-top: 5px; margin-bottom: 15px; border-bottom: 1px solid #ACACAC; float: left;'>" +
				"<div style='width: 99%; margin: 0 auto; padding: 2px; float: left;'>" +
					"<h6 style='font-size: 13px; float: left; display: block-inline; width: 60%; margin: 0 0 0 3px; color: #1B7E1E;'>"+ USUSARIO_LOGADO +"</h6>" +
					"<h6 style='font-size: 12px; color: #888; float: right; display: block-inline; margin: 0 3px 2px 0; width: 35%; text-align: right;'>" + dataHoraComentario + "</h6>" +
				"</div>" +
				"<div style='width: 99%; border: 1px solid #AAA; border-radius: 5px; background: #FBFBFB; float: left; padding: 2px; margin-bottom: 3px;'>" +
					"<p style='margin: 2px 0; text-align: justify; float: left; padding: 5px;'>" + descricaoComentario + "</p>" +
				"</div>" +
				"<div>" +
					"<a href='#' onclick='editarComentario()' style='margin: 2px 25px 5px 0; font-weight:normal; text-decoration: none; color: #333; font-size: 13px; float: left;'>Editar</a>" +
					"<a href='#' onclick='excluirComentario(this)' style='margin: 2px 20px 5px 0; font-weight:normal; text-decoration: none; color: #333; font-size: 13px; float: left;'>Excluir</a>" +
				"</div>" +
			"</div>";
		
		var forum = oldForm;
		var stringHtml = staticComponent += forum;
		$(".controlAdd").html(stringHtml);
		
		console.log('['+ dataHoraComentario +'] ' + USUSARIO_LOGADO + ': add new comment.');
	}

}

function editarComentario(){
	//TODO: implementação com a persistência.
	window.alert('Será implementado com a persistência.');
}

function excluirComentario(obj){
	//TODO: implementação com a persistência.
	$(obj).parents('div.comentario-excluir').remove();
	
}

function cancelComentario(){
	$('.controlAdd').html(oldForm);
	
}

/**
 * Método para adição de um novo Checklist na parte interna do Post-it.
 * 
 * @author Diogo Medeiros
 * @since 2013-09-28
 */
function addChecklist(){
	var descricaoChecklist = prompt("Descrição Checklist:", "");
	var idComponenteHtml = gerarIdRandomico();
	
	if(descricaoChecklist != null){
		if(salvaChecklist()){
			
			var tagHtml = 
				"<div class='checklist-excluir'>" +
					"<div class='ui-checkbox'>" +
						"<input id='" + idComponenteHtml + "' type='checkbox' data-mini='true'>" +
						"<label class='ui-checkbox-off ui-btn ui-btn-corner-all ui-mini ui-btn-icon-left ui-btn-up-c' for='" + idComponenteHtml + "' data-corners='true' data-shadow='false' data-iconshadow='true' data-wrapperels='span' data-icon='checkbox-off' data-theme='c' data-mini='true'>" + descricaoChecklist.trim() + 
							"<a href='#' class='chk-excluir' onclick='excluirChecklist(this)' ontouchstart='excluirChecklist(this)' style='text-align: right; float: right; text-decoration: none; color: red; font-size: 15px;'>X</a>" +
						"</label>" +
					"</div>" +
				"</div>";
			
			$(tagHtml).appendTo('#fieldsetChecklist').trigger('create');
			
			var dataHoraChecklist = dataCompletaFormatada();
			console.log("[" + dataHoraChecklist + "] " + USUSARIO_LOGADO + ": add new checklist.");

		} else {
			alert('Impossível adicionar um item de Checklist!');

		}

	}
}

function excluirChecklist(obj){
	$(obj).parents('div.checklist-excluir').remove();
	
	var dataHoraChecklist = dataCompletaFormadata();
	console.log("[" + dataHoraChecklist + "] " + USUSARIO_LOGADO + ": remove checklist.");

}
	
function salvaChecklist(){
	//TODO: método será chamado no appendTo do checklist e dará insert no banco
	return true;
}

function atualizaChecklist(){
	//TODO: método para ficar atualizando a flag de atividade pronta
}
